package {
	import flash.ui.Keyboard;
	import starling.events.KeyboardEvent;
	/**
	 * User: artem.kolesnikov
	 * Date: 14.01.14
	 * Descr: гениальный класс
	 * вешается на любой дисплей обджект после чего можно его можно двигать и сайзить. (координаты и размер выводятся в трейс);
	 * стрелки - двигать; стрелки+ctrl - ресайзить. зажатый шифт увеличивает шаг.
	 * PixelMovingHelper.MovePixelNow(%дисплейобджект%);
	 */
	public class PixelMovingHelper {
		public static function movePixelNow(displayObject:*):void {
			displayObject.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
			function onKeyDown(event:KeyboardEvent):void {
				// move
				var mode:Boolean = event.ctrlKey;  // move или resize
				var speed:int = event.shiftKey ? 10: 1;
				if(!mode && event.keyCode == Keyboard.LEFT) {displayObject.x-=speed;}
				if(!mode && event.keyCode == Keyboard.RIGHT) {displayObject.x+=speed;}
				if(!mode && event.keyCode == Keyboard.UP) {displayObject.y-=speed;}
				if(!mode && event.keyCode == Keyboard.DOWN) {displayObject.y+=speed;}
				// resize
				if(mode && event.keyCode == Keyboard.LEFT ) {displayObject.width -= speed;}
				if(mode && event.keyCode == Keyboard.RIGHT ) {displayObject.width += speed;}
				if(mode && event.keyCode == Keyboard.UP) {displayObject.height-=speed;}
				if(mode && event.keyCode == Keyboard.DOWN) {displayObject.height+=speed;}
				trace("position=["+displayObject.x+","+displayObject.y+"]", "size=["+displayObject.width+","+displayObject.height+"]");
			}
		}
	}
}
